fn rustdoc(cx: &mut Context, unit: &Unit) -> CargoResult<Work> {
let mut rustdoc = cx.compilation.rustdoc_process(unit.pkg)?;
- rustdoc.arg(&root_path(cx, unit))
+ rustdoc.arg("--crate-name").arg(&unit.target.crate_name())
.cwd(cx.config.cwd())
- .arg("--crate-name").arg(&unit.target.crate_name());
+ .arg(&root_path(cx, unit));
if unit.kind != Kind::Host {
if let Some(target) = cx.requested_target() {
// Move to cwd so the root_path() passed below is actually correct
cmd.cwd(cx.config.cwd());
+ cmd.arg("--crate-name").arg(&unit.target.crate_name());
+
cmd.arg(&root_path(cx, unit));
let color_config = cx.config.shell().color_config();
cmd.arg("--error-format").arg("json");
}
- cmd.arg("--crate-name").arg(&unit.target.crate_name());
-
if !test {
for crate_type in crate_types.iter() {
cmd.arg("--crate-type").arg(crate_type);
assert_that(p.cargo_process("bench").arg("-v").arg("hello"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.5.0 ({url})
-[RUNNING] `rustc src[/]foo.rs [..]`
+[RUNNING] `rustc [..] src[/]foo.rs [..]`
[FINISHED] release [optimized] target(s) in [..]
[RUNNING] `[..]target[/]release[/]deps[/]foo-[..][EXE] hello --bench`", url = p.url()))
.with_stdout("
fn verbose_output_for_lib(p: &ProjectBuilder) -> String {
format!("\
[COMPILING] {name} v{version} ({url})
-[RUNNING] `rustc src[/]lib.rs --crate-name {name} --crate-type lib -g \
+[RUNNING] `rustc --crate-name {name} src[/]lib.rs --crate-type lib -g \
-C metadata=[..] \
--out-dir [..] \
--emit=dep-info,link \
execs().with_status(101)
.with_stderr(&format!("\
[COMPILING] foo v0.5.0 ({url})
-[RUNNING] `rustc build.rs --crate-name build_script_build --crate-type bin [..]`
+[RUNNING] `rustc --crate-name build_script_build build.rs --crate-type bin [..]`
[RUNNING] `[..][/]build-script-build`
[ERROR] failed to run custom build command for `foo v0.5.0 ({url})`
process didn't exit successfully: `[..][/]build-script-build` (exit code: 101)",
execs().with_status(101)
.with_stderr(&format!("\
[COMPILING] bar v0.5.0 ({url})
-[RUNNING] `rustc {dir}{sep}src{sep}lib.rs --crate-name test --crate-type lib -g \
+[RUNNING] `rustc --crate-name test {dir}{sep}src{sep}lib.rs --crate-type lib -g \
-C metadata=[..] \
-C extra-filename=-[..] \
--out-dir {dir}{sep}target \
[..]
[..]
[..]
-[RUNNING] `rustc [..] --crate-name foo [..] -L foo -L bar[..]`
+[RUNNING] `rustc --crate-name foo [..] -L foo -L bar[..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
}
.with_stderr("\
[COMPILING] foo v0.5.0 (file://[..])
[RUNNING] `[..][/]build-script-build`
-[RUNNING] `rustc [..] --crate-name foo [..]`
+[RUNNING] `rustc --crate-name foo [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
}
.with_stderr("\
[COMPILING] foo v0.5.0 (file://[..])
[RUNNING] `[..][/]build-script-build`
-[RUNNING] `rustc [..] --crate-name foo [..]`
-[RUNNING] `rustc [..] --crate-name foo [..]`
+[RUNNING] `rustc --crate-name foo [..]`
+[RUNNING] `rustc --crate-name foo [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
[RUNNING] `[..][/]foo-[..][EXE]`
[DOCTEST] foo
assert_that(p.cargo_process("build").arg("-v").arg("-j1"),
execs().with_status(0)
.with_stderr_contains("\
-[RUNNING] `rustc [..] --crate-name a [..]-L bar[..]-L foo[..]`
+[RUNNING] `rustc --crate-name a [..] -L bar[..]-L foo[..]`
[COMPILING] foo v0.5.0 (file://[..])
-[RUNNING] `rustc [..] --crate-name foo [..] -L bar -L foo`
+[RUNNING] `rustc --crate-name foo [..] -L bar -L foo`
"));
}
assert_that(p.cargo_process("build").arg("-v").arg("-j1"),
execs().with_status(0)
.with_stderr_contains("\
-[RUNNING] `rustc [..] --crate-name a [..]-L bar[..]-L foo[..]`
+[RUNNING] `rustc --crate-name a [..] -L bar[..]-L foo[..]`
[COMPILING] foo v0.5.0 (file://[..])
-[RUNNING] `rustc [..] --crate-name foo [..] -L bar -L foo`
+[RUNNING] `rustc --crate-name foo [..] -L bar -L foo`
"));
}
execs().with_status(0)
.with_stderr("\
[COMPILING] a v0.5.0 (file://[..])
-[RUNNING] `rustc [..] --crate-name a [..]`
+[RUNNING] `rustc --crate-name a [..]`
[COMPILING] foo v0.5.0 (file://[..])
-[RUNNING] `rustc build.rs [..] --extern a=[..]`
+[RUNNING] `rustc [..] build.rs [..] --extern a=[..]`
[RUNNING] `[..][/]foo-[..][/]build-script-build`
-[RUNNING] `rustc [..] --crate-name foo [..]`
+[RUNNING] `rustc --crate-name foo [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
}
execs().with_status(0)
.with_stderr("\
[COMPILING] b v0.5.0 (file://[..])
-[RUNNING] `rustc [..] --crate-name b [..]`
+[RUNNING] `rustc --crate-name b [..]`
[COMPILING] a v0.5.0 (file://[..])
-[RUNNING] `rustc a[/]build.rs [..] --extern b=[..]`
+[RUNNING] `rustc [..] a[/]build.rs [..] --extern b=[..]`
[RUNNING] `[..][/]a-[..][/]build-script-build`
-[RUNNING] `rustc [..]lib.rs --crate-name a --crate-type lib -g \
+[RUNNING] `rustc --crate-name a [..]lib.rs --crate-type lib -g \
-C metadata=[..] \
--out-dir [..]target[/]debug[/]deps --emit=dep-info,link \
-L [..]target[/]debug[/]deps`
[COMPILING] foo v0.5.0 (file://[..])
-[RUNNING] `rustc build.rs --crate-name build_script_build --crate-type bin \
+[RUNNING] `rustc --crate-name build_script_build build.rs --crate-type bin \
-g -C metadata=[..] --out-dir [..] --emit=dep-info,link \
-L [..]target[/]debug[/]deps \
--extern a=[..]liba[..].rlib`
[RUNNING] `[..][/]foo-[..][/]build-script-build`
-[RUNNING] `rustc [..]lib.rs --crate-name foo --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo [..]lib.rs --crate-type lib -g \
-C metadata=[..] \
--out-dir [..] --emit=dep-info,link \
-L [..]target[/]debug[/]deps`
execs().with_status(101)
.with_stderr_contains("\
[COMPILING] foo v0.5.0 (file://[..])
-[RUNNING] `rustc build.rs [..]`
+[RUNNING] `rustc [..] build.rs [..]`
[RUNNING] `[..][/]foo-[..][/]build-script-build`
-[RUNNING] `rustc [..] --crate-name foo [..] -L foo -l static=foo`
+[RUNNING] `rustc --crate-name foo [..] -L foo -l static=foo`
[ERROR] could not find native static library [..]
"));
}
execs().with_status(101)
.with_stderr_contains("\
[COMPILING] foo v0.5.0 (file://[..])
-[RUNNING] `rustc build.rs [..]`
+[RUNNING] `rustc [..] build.rs [..]`
[RUNNING] `[..][/]foo-[..][/]build-script-build`
-[RUNNING] `rustc [..] --crate-name foo [..] -L foo -l static=foo`
+[RUNNING] `rustc --crate-name foo [..] -L foo -l static=foo`
[ERROR] could not find native static library [..]
"));
}
execs().with_status(0)
.with_stderr("\
[COMPILING] a v0.5.0 ([..]
-[RUNNING] `rustc a[/]build.rs [..]`
+[RUNNING] `rustc [..] a[/]build.rs [..]`
[RUNNING] `[..][/]build-script-build`
-[RUNNING] `rustc a[/]src[/]lib.rs [..] -L test[..]`
+[RUNNING] `rustc [..] a[/]src[/]lib.rs [..] -L test[..]`
[COMPILING] b v0.5.0 ([..]
-[RUNNING] `rustc b[/]src[/]lib.rs [..] -L test[..]`
+[RUNNING] `rustc [..] b[/]src[/]lib.rs [..] -L test[..]`
[COMPILING] foo v0.5.0 ([..]
-[RUNNING] `rustc src[/]lib.rs [..] -L test[..]`
-[RUNNING] `rustc tests[/]foo.rs [..] -L test[..]`
+[RUNNING] `rustc [..] src[/]lib.rs [..] -L test[..]`
+[RUNNING] `rustc [..] tests[/]foo.rs [..] -L test[..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
[RUNNING] `[..][/]foo-[..][EXE]`")
.with_stdout("
.with_stderr("\
[FRESH] a v0.5.0 ([..]
[COMPILING] b v0.5.0 ([..]
-[RUNNING] `rustc b[/]src[/]lib.rs [..] -L test[..]`
+[RUNNING] `rustc [..] b[/]src[/]lib.rs [..] -L test[..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
[RUNNING] `[..][/]b-[..][EXE]`")
.with_stdout("
execs().with_status(0).with_stderr("\
[COMPILING] a v0.5.0 ([..])
[RUNNING] `[..][/]build-script-build`
-[RUNNING] `rustc src[/]lib.rs [..]`
+[RUNNING] `rustc [..] src[/]lib.rs [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
execs().with_status(0).with_stderr("\
[COMPILING] a v0.5.0 ([..])
[RUNNING] `[..][/]build-script-build`
-[RUNNING] `rustc src[/]lib.rs [..]`
+[RUNNING] `rustc [..] src[/]lib.rs [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
execs().with_status(0).with_stderr("\
[COMPILING] a v0.5.0 ([..])
[RUNNING] `[..][/]build-script-build`
-[RUNNING] `rustc src[/]lib.rs [..]`
+[RUNNING] `rustc [..] src[/]lib.rs [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
execs().with_status(0).with_stderr("\
[COMPILING] a v0.5.0 ([..])
[RUNNING] `[..][/]build-script-build`
-[RUNNING] `rustc src[/]lib.rs [..]`
+[RUNNING] `rustc [..] src[/]lib.rs [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
}
assert_that(p.cargo_process("build").arg("-v"),
execs().with_status(0)
.with_stderr_contains("\
-[RUNNING] `rustc [..] --crate-name foo [..] -L foo[..]`
+[RUNNING] `rustc --crate-name foo [..] [..] -L foo[..]`
"));
}
assert_that(p.cargo_process("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({url}/bar)
-[RUNNING] `rustc bar[/]src[/]lib.rs --crate-name bar --crate-type dylib \
+[RUNNING] `rustc --crate-name bar bar[/]src[/]lib.rs --crate-type dylib \
-C prefer-dynamic -g \
-C metadata=[..] \
--out-dir [..] \
--emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc src[/]lib.rs --crate-name foo --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
-C metadata=[..] \
-C extra-filename=[..] \
--out-dir [..] \
assert_that(p.cargo_process("build").arg("-v").env("__CARGO_DEFAULT_LIB_METADATA", "1"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({url}/bar)
-[RUNNING] `rustc bar[/]src[/]lib.rs --crate-name bar --crate-type dylib \
+[RUNNING] `rustc --crate-name bar bar[/]src[/]lib.rs --crate-type dylib \
-C prefer-dynamic -g \
-C metadata=[..] \
--out-dir [..] \
--emit=dep-info,link \
-L dependency={dir}[/]target[/]debug[/]deps`
[COMPILING] foo v0.0.1 ({url})
-[RUNNING] `rustc src[/]lib.rs --crate-name foo --crate-type lib -g \
+[RUNNING] `rustc --crate-name foo src[/]lib.rs --crate-type lib -g \
-C metadata=[..] \
-C extra-filename=[..] \
--out-dir [..] \
assert_that(p.cargo_process("build").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
-[RUNNING] `rustc src[/]main.rs --crate-name test --crate-type bin \
+[RUNNING] `rustc --crate-name test src[/]main.rs --crate-type bin \
-C opt-level=3 \
-C lto \
-C metadata=[..] \
assert_that(p.cargo_process("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
-[RUNNING] `rustc src[/]lib.rs --crate-name test --crate-type lib -g \
+[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib -g \
-C metadata=[..] \
--out-dir [..] \
--emit=dep-info,link \
assert_that(p.cargo_process("build").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
-[RUNNING] `rustc src[/]lib.rs --crate-name test --crate-type lib \
+[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
-C opt-level=3 \
-C metadata=[..] \
--out-dir [..] \
assert_that(p.cargo_process("build").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] foo v0.0.0 ({url}/foo)
-[RUNNING] `rustc foo[/]src[/]lib.rs --crate-name foo \
+[RUNNING] `rustc --crate-name foo foo[/]src[/]lib.rs \
--crate-type dylib --crate-type rlib -C prefer-dynamic \
-C opt-level=3 \
-C metadata=[..] \
--emit=dep-info,link \
-L dependency={dir}[/]target[/]release[/]deps`
[COMPILING] test v0.0.0 ({url})
-[RUNNING] `rustc src[/]lib.rs --crate-name test --crate-type lib \
+[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
-C opt-level=3 \
-C metadata=[..] \
--out-dir [..] \
assert_that(p.cargo_process("build").arg("-v").arg("--color").arg("always"),
execs().with_status(0).with_stderr_contains(
- "[..]rustc src[/]lib.rs --color always[..]"));
+ "[..]rustc [..] src[/]lib.rs --color always[..]"));
assert_that(p.cargo_process("build").arg("-v").arg("--color").arg("never"),
execs().with_status(0).with_stderr("\
assert_that(p.cargo_process("b-cargo-test").arg("-v"),
execs().with_status(0).
with_stderr_contains("[COMPILING] foo v0.5.0 [..]
-[RUNNING] `rustc [..] --crate-name foo [..]"));
+[RUNNING] `rustc --crate-name foo [..]"));
}
#[test]
assert_that(p.cargo_process("b-cargo-test").arg("-v"),
execs().with_status(0).
with_stderr_contains("[COMPILING] foo v0.5.0 [..]").
- with_stderr_contains("[RUNNING] `rustc [..] --crate-name [..]")
+ with_stderr_contains("[RUNNING] `rustc --crate-name [..]")
);
}
assert_that(p.cargo_process("b-cargo-test").arg("-v"),
execs().with_status(0).
with_stderr_contains("[COMPILING] foo v0.5.0 [..]").
- with_stderr_contains("[RUNNING] `rustc [..] --crate-name foo [..]")
+ with_stderr_contains("[RUNNING] `rustc --crate-name foo [..]")
);
}
assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.0.1 ([..])
-[RUNNING] `rustc build.rs [..]`
+[RUNNING] `rustc [..] build.rs [..]`
[RUNNING] `[..]build-script-build`
-[RUNNING] `rustc src[/]main.rs [..]`
+[RUNNING] `rustc [..] src[/]main.rs [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
"));
}
execs().with_status(101)
.with_stderr_contains(&format!("\
[COMPILING] foo v0.5.0 ({url})
-[RUNNING] `rustc src[/]foo.rs --crate-name foo --crate-type bin -g \
+[RUNNING] `rustc --crate-name foo src[/]foo.rs --crate-type bin -g \
-C metadata=[..] \
--out-dir {dir}[/]target[/]{target}[/]debug[/]deps \
--emit=dep-info,link \
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.0 (file://[..])
-[RUNNING] `rustc build.rs [..] --out-dir {dir}[/]target[/]debug[/]build[/]foo-[..]`
+[RUNNING] `rustc [..] build.rs [..] --out-dir {dir}[/]target[/]debug[/]build[/]foo-[..]`
[RUNNING] `{dir}[/]target[/]debug[/]build[/]foo-[..][/]build-script-build`
-[RUNNING] `rustc src[/]main.rs [..] --target {target} [..]`
+[RUNNING] `rustc [..] src[/]main.rs [..] --target {target} [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
", target = target,
dir = p.root().display())));
.with_stderr_contains(&format!("\
[COMPILING] d1 v0.0.0 ({url}/d1)", url = p.url()))
.with_stderr_contains(&format!("\
-[RUNNING] `rustc d1[/]build.rs [..] --out-dir {dir}[/]target[/]debug[/]build[/]d1-[..]`",
+[RUNNING] `rustc [..] d1[/]build.rs [..] --out-dir {dir}[/]target[/]debug[/]build[/]d1-[..]`",
dir = p.root().display()))
.with_stderr_contains(&format!("\
[RUNNING] `{dir}[/]target[/]debug[/]build[/]d1-[..][/]build-script-build`",
dir = p.root().display()))
.with_stderr_contains("\
-[RUNNING] `rustc d1[/]src[/]lib.rs [..]`")
+[RUNNING] `rustc [..] d1[/]src[/]lib.rs [..]`")
.with_stderr_contains(&format!("\
[COMPILING] d2 v0.0.0 ({url}/d2)", url = p.url()))
.with_stderr_contains(&format!("\
-[RUNNING] `rustc d2[/]src[/]lib.rs [..] \
+[RUNNING] `rustc [..] d2[/]src[/]lib.rs [..] \
-L /path/to/{host}`", host = host))
.with_stderr_contains(&format!("\
[COMPILING] foo v0.0.0 ({url})", url = p.url()))
.with_stderr_contains(&format!("\
-[RUNNING] `rustc build.rs [..] --out-dir {dir}[/]target[/]debug[/]build[/]foo-[..] \
+[RUNNING] `rustc [..] build.rs [..] --out-dir {dir}[/]target[/]debug[/]build[/]foo-[..] \
-L /path/to/{host}`", dir = p.root().display(), host = host))
.with_stderr_contains(&format!("\
-[RUNNING] `rustc src[/]main.rs [..] --target {target} [..] \
+[RUNNING] `rustc [..] src[/]main.rs [..] --target {target} [..] \
-L /path/to/{target}`", target = target)));
}
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] d2 v0.0.0 ([..])
-[RUNNING] `rustc d2[/]src[/]lib.rs [..]`
+[RUNNING] `rustc [..] d2[/]src[/]lib.rs [..]`
[COMPILING] d1 v0.0.0 ([..])
-[RUNNING] `rustc d1[/]src[/]lib.rs [..]`
+[RUNNING] `rustc [..] d1[/]src[/]lib.rs [..]`
[COMPILING] foo v0.0.1 ([..])
-[RUNNING] `rustc build.rs [..]`
+[RUNNING] `rustc [..] build.rs [..]`
[RUNNING] `{dir}[/]target[/]debug[/]build[/]foo-[..][/]build-script-build`
-[RUNNING] `rustc src[/]lib.rs [..] --target {target} [..]`
+[RUNNING] `rustc [..] src[/]lib.rs [..] --target {target} [..]`
[FINISHED] debug [unoptimized + debuginfo] target(s) in [..]
", dir = p.root().display(), target = target)));
}